// SignalMaker.h: interface for the ISignalMaker class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_SIGNALMAKER_H__449B9B10_2A80_47A3_A69A_6C36491293B3__INCLUDED_)
#define AFX_SIGNALMAKER_H__449B9B10_2A80_47A3_A69A_6C36491293B3__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Unknwn.h"
#include "string"
#ifndef  MY_STRING_
typedef unsigned short* String;
#define  MY_STRING_
#endif
extern "C" const GUID IID_SignalMaker;

#ifndef MY_COMMSG_
typedef struct commsg COMMSG;
#define MY_COMMSG_
#endif	

class ISignalMaker : public IUnknown
{
//public:
	//	ISignalMaker();
	//	virtual ~ISignalMaker();
	
public:
	virtual double OutputSignal(std::string &ItemName,std::string	&SignalType,
		float PromiseValue,std::string &Channel,COMMSG* errMsg = NULL) = 0;
	virtual void StopOutput() = 0;
	
};

#endif // !defined(AFX_SIGNALMAKER_H__449B9B10_2A80_47A3_A69A_6C36491293B3__INCLUDED_)
